Other Classes

The following classes are available globally.

  • An object that notifies its delegate when the user’s location changes, minimizing the noise that normally accompanies location updates from a CLLocationManager object.

    Unlike Router classes such as RouteController and LegacyRouteController, this class operates without a predefined route, matching the user’s location to the road network at large. You can use a passive location manager to determine a starting point for a route that you calculate using the Directions.calculate(_:completionHandler:) method. If the user happens to be moving while you calculate the route, the passive location manager makes it less likely that the route will begin with a short segment on a side road or driveway and a confusing instruction to turn onto the current road.

    To find out when the user’s location changes, implement the PassiveLocationDataSourceDelegate protocol, or observe Notification.Name.passiveLocationDataSourceDidUpdate notifications for more detailed information.

    See more

    Declaration

    Swift

    open class PassiveLocationDataSource : NSObject
    extension PassiveLocationDataSource: CLLocationManagerDelegate
  • DispatchTimer is a general-purpose wrapper over the DispatchSourceTimer mechanism in GCD.

    See more

    Declaration

    Swift

    public class DispatchTimer
  • An object that notifies a map view when the user’s location changes, minimizing the noise that normally accompanies location updates from a CLLocationManager object.

    Unlike Router classes such as RouteController and LegacyRouteController, this class operates without a predefined route, matching the user’s location to the road network at large. If your application displays an MGLMapView before starting turn-by-turn navigation, set MGLMapView.locationManager to an instance of this class so that the map view always shows the location snapped to the road network. For example, use this class to show the user’s current location as they wander around town.

    This class depends on PassiveLocationDataSource to detect the user’s location as it changes. If you want location updates but do not need to display them on a map and do not want a dependency on the MapboxNavigation module, you can use PassiveLocationDataSource instead of this class.

    See more

    Declaration

    Swift

    open class PassiveLocationManager : NSObject, MGLLocationManager
    extension PassiveLocationManager: PassiveLocationDataSourceDelegate